Robotic vehicles (e.g., “UAVs” or “drones”) are configured with increasingly complex hardware and software. Robotic vehicles are controlled by a main controller that handle numerous functions of the robotic vehicle, such as flight control and navigation, processing sensor data (e.g., input from cameras, sonar, gyroscope, accelerometer, etc.), receiving and processing GPS signals, controlling radios for communication, and the like. As the complexity of these components and mission functionality increases, so do the chances of a hardware or software fault causing a “crash” and reboot of the main controller.
The main controller will perform a hard restart in the event of a software crash of the main controller. When performing a hard restart, the main controller stops signaling the electronic speed controllers (ESCs) that control the motors for vehicle propulsion, such as motors that drive the vehicle's rotors, wheels, propellers, etc. Thus, during a hard restart, the main controller has no control over vehicle propulsion, which can cause the ESCs to stop powering the rotors, wheels, propellers, etc. causing the robotic vehicle to temporarily go out of control.